﻿using System;
namespace BankingSystem.BLL
{
    public interface IBank
    {
        Model.Account CreateAccount(Model.Client client, DateTime expireDate, double initBalance);
        Model.Client CreateClient(Model.ClientInfo clientInfo);
        void DeleteAccount(Model.Account account);
        void DeleteClient(Model.Client client);
        void Deposite(Model.Account Acc, double Summ);
        System.Collections.Generic.IList<Model.Client> FindByCriteria(Func<Model.Client, bool> predicate);
        System.Collections.Generic.IList<Model.Account> FindClientAccounts(Model.Client client);
        void Transfer(double amount, Model.Account fromAccount, Model.Account toAccount);
        void UpdateClient(Model.Client client);
        void WithDraw(Model.Account Acc, double Summ);
    }
}
